1. urllib 模块的介绍

  • urllib 和 requests 模块的功能是一样的都是用于爬取页面的数据,但是 urllib 要逊于 requests,且 requests 其实是在 urllib 模块上再做了一层封装(即:升级版)

2. urllib 和 requests 的对比

  • 使用urllib:
    • 手动处理url编码
    • 手动处理post请求参数
    • 处理cookie和代理操作繁琐
    • ......

  • 使用requests模块:
    • 自动处理url编码
    • 自动处理post请求参数
    • 简化cookie和代理操作
    • ......

3. urllib 的使用

  • 获取页面的内容(代码)

from urllib.request import urlopen
code = urlopen('http://www.baidu.com').read()  # 返回值: bytes 类型, 需要进行转码才能正常使用
d_code = code.decode('utf-8')
print(d_code)

  • 爬取图片并保存

from urllib.request import urlretrieve

url = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1575719684752&di=478b3ebe5d21cac01d47ab26302811d4&imgtype=0&src=http%3A%2F%2Fn.sinaimg.cn%2Ffront%2F266%2Fw640h426%2F20181010%2F5O8K-hkrzyan5860450.jpg'

urlretrieve(url=url, filename='./哈士奇.jpg')